iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
  • MTV 架構說明
  • MTV 架構流程

一、MTV 概述

MTV 架構是 Django 框架採用的一種設計模式,它代表了 Model-Template-View 三個主要部分,會使用這個架構的原因是因為它將數據邏輯、展示邏輯以及業務邏輯分開,這樣使得每個部份的 code 可以獨立開發和重用,提高開發效率。

二、MTV 的主要架構

1. Model

  • 職責: 負責與數據庫的訪問和交互,包括數據的創建、讀取、更新和刪除
  • 功能: 使用 Django 的 ORM,模型將數據庫中的表映射為 Python 對象,使得開發者可以通過操作 Python 對象來進行資料庫操作。定義資料庫中表的結構,包括字段類型、默認值、限制等等。

2. Template

  • 職責: 負責將數據生成網頁呈現給用戶看,去定義頁面的結構和樣式 (也就是常聽到前端的 HTML、CSS、JavaScript)
  • 功能: 將視圖傳遞的數據動態的嵌入到 HTML 模板中。提供過濾器來格式化和處理數據,例如日期格式化或字符串操作,使用標籤來執行複雜的邏輯,例如迴圈或條件判斷。

3. View

  • 職責: 負責業務邏輯,處理HTTP請求並返回HTTP響應,協調模型和模板之間的交互。
  • 功能: 接收 HTTP 請求,解析請求參數,調用模型進行資料庫操作,進行業務邏輯和驗證相關,將數據傳遞給模板。

三、MTV 架構流程

針對流程的部分我會置了一個流程圖,從User端發送請求到讀取資料庫的資料,做業務邏輯處理,到最後瀏覽器接收響應呈現網頁。

terminal.png

四、總結

MTV 架構是 Django 框架的核心,它將數據庫操作、業務邏輯和網頁呈現分開,使得代碼更加模組化,易於維護和擴展。在開發過程中,我們可以根據需求將業務邏輯和數據庫操作分開。下一篇文章我們會介紹如何開始創建 Django 專案,並設定資料庫

五、參考資料


上一篇
Day 2 - 介紹甚麼是 Django、安裝、開發環境
下一篇
Day 4 - 開始創建 Django 專案
系列文
30天從0開始學習 Django12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言